package org.ccay.enumerable;

import java.util.List;

/**
 * 枚举帮助类接口
 * @author chaowangbang
 * @version 创建时间 2015年1月4日下午4:18:55
 */
public interface Enum {
	
	/**
	 * 根据类型取得所有的枚举类型
	 * @param type
	 * @return
	 */
	public List<EnumItem> getByType(String type);
	
	/**
	 * 根据类型和名称取得某个唯一的枚举类型
	 * @param type
	 * @param name
	 * @return
	 */
	public EnumItem getByTypeName(String type, String name);
	
	/**
	 * 根据类型和值取得某个唯一的枚举类型
	 * @param type
	 * @param value
	 * @return
	 */
	public EnumItem getByTypeValue(String type, String value);
	
	/**
	 * 根据类型和索引取得某个唯一的枚举类型
	 * @param type
	 * @param index
	 * @return
	 */
	public EnumItem getByTypeIndex(String type, int index);
	
	
	/**
	 * 获取所有枚举类型
	 * @param type
	 * @return
	 */
	public List<EnumItem> getAll();
}
